package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ly.common.core.domain.BaseVo;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 财务模块-收款明细列表
 * </p>
 * @author WuZH
 * @since 2024-08-04
 */
@Getter
@Setter
@TableName ("erp_king_finance_receipt_detail_info")
@ApiModel (value = "KingFinanceReceiptDetailEntity对象", description = "财务模块-收款明细列表")
public class KingFinanceReceiptDetailEntity extends BaseVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ("id")
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty ("收付款单Id/收付款退款单Id")
    @TableField ("relation_id")
    private String relationId;

    @ApiModelProperty ("结算方式表编码")
    @TableField ("king_settlement_type_code")
    private String kingSettlementTypeCode;

    @ApiModelProperty ("收款用途编码")
    @TableField ("receipt_purpose_code")
    private String receiptPurposeCode;

    @ApiModelProperty ("预收项目类型，1：销售订单，2：客户")
    @TableField ("prepaid_item_type")
    private String prepaidItemType;

    @ApiModelProperty ("销售订单号")
    @TableField ("sale_order_code")
    private String saleOrderCode;

    @ApiModelProperty ("销售订单Id")
    @TableField ("sale_order_id")
    private String saleOrderId;

    @ApiModelProperty ("销售订单行号")
    @TableField ("sale_line_number")
    private String saleLineNumber;

    @ApiModelProperty ("应收金额")
    @TableField ("cope_money")
    private String copeMoney;

    @ApiModelProperty ("收款金额")
    @TableField ("receipt_money")
    private String receiptMoney;

    @ApiModelProperty ("实收金额=应收-现金折扣-手续费")
    @TableField ("actual_money")
    private String actualMoney;

    @ApiModelProperty ("现金折扣")
    @TableField ("cash_discount")
    private String cashDiscount;

    @ApiModelProperty ("手续费")
    @TableField ("handling_fees")
    private String handlingFees;

    @ApiModelProperty ("长短款")
    @TableField ("long_short_pay")
    private String longShortPay;

    @ApiModelProperty ("折后金额=应收-现金折扣")
    @TableField ("discounted_money")
    private String discountedMoney;

    @ApiModelProperty ("我方银行账号")
    @TableField ("bank_number")
    private String bankNumber;

    @ApiModelProperty ("结算号")
    @TableField ("settlement_number")
    private String settlementNumber;

    @ApiModelProperty ("备注")
    @TableField ("remarks")
    private String remarks;

    @ApiModelProperty ("交易时间")
    @TableField ("transaction_time")
    private Date transactionTime;

    @ApiModelProperty ("费用项目编码")
    @TableField ("fee_code")
    private String feeCode;

    @ApiModelProperty ("费用承担部门")
    @TableField ("fee_bear_dept_code")
    private String feeBearDeptCode;

    @ApiModelProperty ("物料编码")
    @TableField ("material_code")
    private String materialCode;

    @ApiModelProperty ("含税单价")
    @TableField ("tax_price")
    private String taxPrice;

    @ApiModelProperty ("预估税率")
    @TableField ("expect_tax_rate")
    private String expectTaxRate;

    @ApiModelProperty ("税额")
    @TableField ("tax_rate")
    private String taxRate;

    @ApiModelProperty ("税额本位币")
    @TableField ("tax_rate_currency")
    private String taxRateCurrency;

    @ApiModelProperty ("应收金额不含税")
    @TableField ("no_tax_amount")
    private String noTaxAmount;

    @ApiModelProperty ("应收金额不含税本位币")
    @TableField ("no_tax_amount_currency")
    private String noTaxAmountCurrency;

    @ApiModelProperty ("数量")
    @TableField ("num")
    private String num;

    @ApiModelProperty ("源单类型;1:手动新增;2:应付票据下推付款单3:应付单下推付款单;4:其他应付单下推付款单;5、其他付款单下推付款单;6、工程下推付款单")
    @TableField ("source_doc_type")
    private Integer sourceDocType;

    @ApiModelProperty ("源单单号")
    @TableField ("source_no")
    private String sourceNo;

    @ApiModelProperty ("源单Id")
    @TableField ("source_id")
    private String sourceId;

    @ApiModelProperty ("行号")
    @TableField ("line_number")
    private String lineNumber;

    @ApiModelProperty ("已核销金额")
    @TableField ("verified_amount")
    private String verifiedAmount;

    @ApiModelProperty ("创建人Id")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("更新人Id")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("更新时间")
    @TableField ("update_time")
    private Date updateTime;

    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    private Integer isUsed;

    @ApiModelProperty ("收款用途名称")
    @TableField (exist = false)
    private String receiptPurposeName;

    @ApiModelProperty ("结算方式名称")
    @TableField (exist = false)
    private String kingSettlementTypeName;

    @ApiModelProperty ("费用项目名称")
    @TableField (exist = false)
    private String feeName;

    @ApiModelProperty ("费用承担部门名称")
    @TableField (exist = false)
    private String feeBearDeptName;

}
